ESP8266+blinker点灯(小爱+天猫+小度三合一)

您所在的位置:网站首页 小爱 天猫 ESP8266+blinker点灯(小爱+天猫+小度三合一)

ESP8266+blinker点灯(小爱+天猫+小度三合一)

2024-07-10 10:07| 来源: 网络整理| 查看: 265

文章目录 ESP8266一.简介二.程序1.小爱同学2.天猫精灵3.小度 三.合成

ESP8266 一.简介

今天给大家说一下各个语言助手来控制ESP8266来点灯,这是我们用的还是blinker平台,前面有写过关于小爱同学点灯的文章,今天说一下小度和天猫精灵的控制

二.程序 1.小爱同学 头文件的声明 #define BLINKER_MIOT_LIGHT 初始化 BlinkerMIOT.attachPowerState(miotPowerState); //小爱语音操作注册函数 函数实现,这里我以点灯为例 //小爱电源类回调 void miotPowerState(const String & state) { BLINKER_LOG("need set power state: ", state); if (state == BLINKER_CMD_ON) { digitalWrite(LED_BUILTIN, LOW); BlinkerMIOT.powerState("on"); BlinkerMIOT.print(); } else if (state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, HIGH); BlinkerMIOT.powerState("off"); BlinkerMIOT.print(); } } 2.天猫精灵 头文件的声明 #define BLINKER_ALIGENIE_LIGHT //设置天猫灯类库 初始化 BlinkerAliGenie.attachPowerState(aligeniePowerState); //天猫语音操作注册函数 函数实现,这里我以点灯为例 //天猫精灵电源类回调 void aligeniePowerState(const String & state) { BLINKER_LOG("need set power state: ", state); if (state == BLINKER_CMD_ON) { digitalWrite(LED_BUILTIN, LOW); BlinkerAliGenie.powerState("on"); BlinkerAliGenie.print(); } else if (state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, HIGH); BlinkerAliGenie.powerState("off"); BlinkerAliGenie.print(); } } 3.小度 头文件的声明 #define BLINKER_DUEROS_LIGHT //设置小度灯类库 初始化 BlinkerDuerOS.attachPowerState(duerPowerState); //小度语音操作注册函数 函数实现,这里我以点灯为例 //小度电源类回调 void duerPowerState(const String & state) { BLINKER_LOG("need set power state: ", state); if (state == BLINKER_CMD_ON) { digitalWrite(LED_BUILTIN, LOW); BlinkerDuerOS.powerState("on"); BlinkerDuerOS.print(); } else if (state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, HIGH); BlinkerDuerOS.powerState("off"); BlinkerDuerOS.print(); } } 三.合成

大家可以根据自己的需求来添加程序,我将三种控制合成一个程序

#define BLINKER_PRINT Serial //用于打开串口 #define BLINKER_WIFI //用于指定设备接入方式 wifi 接入 #define BLINKER_MIOT_LIGHT //设置小爱同学控制为语音控制灯设备 #define BLINKER_DUEROS_LIGHT //设置小度灯类库 #define BLINKER_ALIGENIE_LIGHT //设置天猫灯类库 #include char auth[] = "a3c11b64eb38"; //上一步中在app中获取到的Secret Key(新建设备的秘钥) char ssid[] = "ZHAI"; //你的WiFi热点名称 char pswd[] = "123456789"; //你的WiFi密码 BlinkerButton Button1("btn-abc"); //btn-abc 名称要和app新建组件一致 // app 端按下按键即会执行该函数 回调函数 void button1_callback(const String & state) { BLINKER_LOG("get button state: ", state); if (state=="on") { digitalWrite(LED_BUILTIN, LOW); // 反馈开关状态 Button1.print("on"); } else if(state=="off"){ digitalWrite(LED_BUILTIN, HIGH); // 反馈开关状态 Button1.print("off"); } } //小爱电源类回调 void miotPowerState(const String & state) { BLINKER_LOG("need set power state: ", state); if (state == BLINKER_CMD_ON) { digitalWrite(LED_BUILTIN, LOW); BlinkerMIOT.powerState("on"); BlinkerMIOT.print(); } else if (state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, HIGH); BlinkerMIOT.powerState("off"); BlinkerMIOT.print(); } } //小度电源类回调 void duerPowerState(const String & state) { BLINKER_LOG("need set power state: ", state); if (state == BLINKER_CMD_ON) { digitalWrite(LED_BUILTIN, LOW); BlinkerDuerOS.powerState("on"); BlinkerDuerOS.print(); } else if (state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, HIGH); BlinkerDuerOS.powerState("off"); BlinkerDuerOS.print(); } } //天猫精灵电源类回调 void aligeniePowerState(const String & state) { BLINKER_LOG("need set power state: ", state); if (state == BLINKER_CMD_ON) { digitalWrite(LED_BUILTIN, LOW); BlinkerAliGenie.powerState("on"); BlinkerAliGenie.print(); } else if (state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, HIGH); BlinkerAliGenie.powerState("off"); BlinkerAliGenie.print(); } } void setup() { // 初始化串口,并开启调试信息 Serial.begin(115200); BLINKER_DEBUG.stream(Serial); //串口打印调试信息 // 初始化有LED的IO pinMode(LED_BUILTIN, OUTPUT); //LED_BUILTIN 宏就是开发板指示灯的io口 digitalWrite(LED_BUILTIN, HIGH); // 初始化blinker Blinker.begin(auth, ssid, pswd); Button1.attach(button1_callback); //绑定按键执行回调函数 BlinkerDuerOS.attachPowerState(duerPowerState); //小度语音操作注册函数 BlinkerMIOT.attachPowerState(miotPowerState); //小爱语音操作注册函数 BlinkerAliGenie.attachPowerState(aligeniePowerState); //天猫语音操作注册函数 } void loop() { Blinker.run(); /*每次运行都会将设备收到的数据进行一次解析。 在使用WiFi接入时,该语句也负责保持网络连接*/ }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3